home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / p4 / p4-1_2a.lha / p4-1.2a / usc / usctest / usctest.c < prev    next >
C/C++ Source or Header  |  1992-10-19  |  1KB  |  75 lines

  1. #include <stdio.h>
  2. #include "../alog_usc.h"
  3.  
  4. #if defined(CAP2_HOST)
  5. #include <chost.c7.h>
  6. host_main()
  7. #else
  8. #if defined(CAP2_CELL)
  9. cell_main()
  10. #else
  11. main()
  12. #endif
  13. #endif
  14. {
  15.     usc_init();
  16.     printf("\nRollover Value = %lu\n", usc_rollover_val());
  17.  
  18.     printf("\n\nShort Loop Test:\n");
  19.     printf("================\n\n");
  20.     short_loop();
  21.  
  22.     printf("\n\nInfinite Loop Test (measures 5 second intervals):\n");
  23.     printf("=================================================\n");
  24.     printf("(***** Type ^C to terminate this test *****)\n\n");
  25.     infinite_loop();
  26. }
  27.  
  28.  
  29. short_loop()
  30. {
  31.     usc_time_t t1, t2, t3;
  32.     usc_time_t t[100];
  33.     int i;
  34.  
  35.     for (i=0; i<100; i++)
  36.         t[i] = usc_clock();
  37.     for (i=0; i<100; i++)
  38.         printf("Clock Reading %2d:  %lu\n", i+1, t[i]);
  39.  
  40.     printf("\nThree additional readings...just for the heck of it\n");
  41.     t1 = usc_clock();
  42.     t2 = usc_clock();
  43.     t3 = usc_clock();
  44.     printf("time1 = %lu,  time2 = %lu,  time3 = %lu\n", t1, t2, t3);
  45. }
  46.  
  47.  
  48. infinite_loop()
  49. {
  50.     usc_time_t t1, t2;
  51.     int i,j;
  52.  
  53.     for(j=0;j < 10; j++)
  54.     {
  55.         t1 = usc_clock();
  56. #if !defined(CAP2_CELL)
  57.  
  58.         sleep(5);
  59. #else
  60.         {
  61.         double dgettime();
  62.         double dinit;
  63.  
  64.         dinit = dgettime();
  65.         while (dgettime() < dinit + 5)
  66.             ;
  67.         }
  68. #endif
  69.  
  70.         t2 = usc_clock();
  71.         printf("Start_time = %lu    End_time = %lu\n\n", t1, t2);
  72.         printf("---> Interval = %lu microsecs <---\n\n", t2-t1);
  73.     }
  74. }
  75.